enocean5 2.2.0
Loading...
Searching...
No Matches
enocean5.h File Reference

This file contains API for EnOcean 5 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_uart.h"

Go to the source code of this file.

Data Structures

struct  enocean5_packet_t
 EnOcean 5 Click ESP3 packet structure object. More...
struct  enocean5_info_t
 EnOcean 5 Click device version object. More...
struct  enocean5_t
 EnOcean 5 Click context object. More...
struct  enocean5_cfg_t
 EnOcean 5 Click configuration object. More...

Macros

#define ENOCEAN5_PKT_SYNC_BYTE   0x55
 EnOcean 5 packet sync byte.
#define ENOCEAN5_PKT_TYPE_RADIO_ERP1   0x01
 EnOcean 5 packet type bytes.
#define ENOCEAN5_PKT_TYPE_RESPONSE   0x02
#define ENOCEAN5_PKT_TYPE_EVENT   0x04
#define ENOCEAN5_PKT_TYPE_COMMON_CMD   0x05
#define ENOCEAN5_PKT_TYPE_REMOTE_MAN_CMD   0x07
#define ENOCEAN5_PKT_TYPE_RADIO_MESSAGE   0x09
#define ENOCEAN5_PKT_TYPE_RADIO_ERP2   0x0A
#define ENOCEAN5_CMD_WR_SLEEP   0x01
 EnOcean 5 command code bytes.
#define ENOCEAN5_CMD_WR_RESET   0x02
#define ENOCEAN5_CMD_RD_VERSION   0x03
#define ENOCEAN5_CMD_WR_IDBASE   0x07
#define ENOCEAN5_CMD_RD_IDBASE   0x08
#define ENOCEAN5_CMD_WR_REPEATER   0x09
#define ENOCEAN5_CMD_RD_REPEATER   0x0A
#define ENOCEAN5_CMD_WR_FILTER_ADD   0x0B
#define ENOCEAN5_CMD_WR_FILTER_DEL   0x0C
#define ENOCEAN5_CMD_WR_FILTER_DEL_ALL   0x0D
#define ENOCEAN5_CMD_WR_FILTER_ENABLE   0x0E
#define ENOCEAN5_CMD_RD_FILTER   0x0F
#define ENOCEAN5_CMD_WR_WAIT_MATURITY   0x10
#define ENOCEAN5_CMD_WR_LEARNMODE   0x17
#define ENOCEAN5_CMD_RD_LEARNMODE   0x18
#define ENOCEAN5_CMD_WR_SECDEV_DEL   0x1A
#define ENOCEAN5_CMD_WR_MODE   0x1C
#define ENOCEAN5_CMD_RD_SECDEV_COUNT   0x1D
#define ENOCEAN5_CMD_RD_SECDEV_BY_ID   0x1E
#define ENOCEAN5_CMD_WR_SECDEV_SENDTECHIN   0x20
#define ENOCEAN5_CMD_RD_DUTYCYCLE_LIMIT   0x23
#define ENOCEAN5_CMD_SET_BAUDRATE   0x24
#define ENOCEAN5_CMD_GET_FREQUENCY_INFO   0x25
#define ENOCEAN5_CMD_WR_STARTUP_DELAY   0x2F
#define ENOCEAN5_CMD_SET_CRC_SIZE   0x34
#define ENOCEAN5_CMD_GET_CRC_SIZE   0x35
#define ENOCEAN5_CMD_WR_RLC_SAVE_PERIOD   0x36
#define ENOCEAN5_CMD_WR_RLC_LEGACY_MODE   0x37
#define ENOCEAN5_CMD_WR_SECDEV2_ADD   0x38
#define ENOCEAN5_CMD_WR_RSSITESTMODE   0x3A
#define ENOCEAN5_CMD_RD_RSSITESTMODE   0x3B
#define ENOCEAN5_CMD_WR_SECDEV_MAINKEY   0x3C
#define ENOCEAN5_CMD_RD_SECDEV_MAINKEY   0x3D
#define ENOCEAN5_CMD_WR_TRANSPARENT_MODE   0x3E
#define ENOCEAN5_CMD_RD_TRANSPARENT_MODE   0x3F
#define ENOCEAN5_CMD_WR_TX_ONLY_MODE   0x40
#define ENOCEAN5_CMD_RD_TX_ONLY_MODE   0x41
#define ENOCEAN5_RET_OK   0x00
 EnOcean 5 return code bytes.
#define ENOCEAN5_RET_ERROR   0x01
#define ENOCEAN5_RET_NOT_SUPPORTED   0x02
#define ENOCEAN5_RET_WRONG_PARAM   0x03
#define ENOCEAN5_RET_OPERATION_DENIED   0x04
#define ENOCEAN5_RET_LOCK_SET   0x05
#define ENOCEAN5_RET_BUFFER_TOO_SMALL   0x06
#define ENOCEAN5_RET_NO_FREE_BUFFER   0x07
#define ENOCEAN5_EVT_READY   0x04
 EnOcean 5 event code bytes.
#define ENOCEAN5_EVT_SECUREDEVICES   0x05
#define ENOCEAN5_EVT_DUTYCYCLE_LIMIT   0x06
#define ENOCEAN5_EVT_TX_DONE   0x08
#define ENOCEAN5_EVT_LRN_MODE_DISABLED   0x09
#define ENOCEAN5_FILTER_TYPE_SOURCE_ID   0x00
 EnOcean 5 filter setting bytes.
#define ENOCEAN5_FILTER_TYPE_RORG   0x01
#define ENOCEAN5_FILTER_TYPE_RSSI   0x02
#define ENOCEAN5_FILTER_TYPE_DESTINATION_ID   0x03
#define ENOCEAN5_FILTER_ACTION_FW_FALSE   0x00
#define ENOCEAN5_FILTER_ACTION_FW_TRUE   0x80
#define ENOCEAN5_FILTER_ACTION_REP_FALSE   0x40
#define ENOCEAN5_FILTER_ACTION_REP_TRUE   0xC0
#define ENOCEAN5_WAKEUP_VOLTAGE_DROP   0x00
 EnOcean 5 wake-up cause bytes.
#define ENOCEAN5_WAKEUP_HW_RESET   0x01
#define ENOCEAN5_WAKEUP_WATCHDOG   0x02
#define ENOCEAN5_WAKEUP_FLYWHEEL   0x03
#define ENOCEAN5_WAKEUP_PARITY_ERROR   0x04
#define ENOCEAN5_WAKEUP_MEMORY_ERROR   0x05
#define ENOCEAN5_WAKEUP_INVALID_MEM_ADDR   0x06
#define ENOCEAN5_WAKEUP_HW_WAKEUP_PIN0   0x07
#define ENOCEAN5_WAKEUP_HW_WAKEUP_PIN1   0x08
#define ENOCEAN5_WAKEUP_UNKNOWN_RESET   0x09
#define ENOCEAN5_WAKEUP_UART   0x0A
#define ENOCEAN5_WAKEUP_SW_RESET   0x0B
#define ENOCEAN5_ERP1_SEC_LVL_NOT_PROC   0x00
 EnOcean 5 ERP1 security level bytes.
#define ENOCEAN5_ERP1_SEC_LVL_OBSOLETE   0x01
#define ENOCEAN5_ERP1_SEC_LVL_DECR   0x02
#define ENOCEAN5_ERP1_SEC_LVL_AUTH   0x03
#define ENOCEAN5_ERP1_SEC_LVL_DECR_AUTH   0x04
#define ENOCEAN5_RORG_RPS   0xF6
 EnOcean 5 telegram types.
#define ENOCEAN5_RORG_1BS   0xD5
#define ENOCEAN5_RORG_4BS   0xA5
#define ENOCEAN5_RORG_VLD   0xD2
#define ENOCEAN5_RORG_MSC   0xD1
#define ENOCEAN5_RORG_ADT   0xA6
#define ENOCEAN5_RORG_SM_LRN_REQ   0xC6
#define ENOCEAN5_RORG_SM_LRN_ANS   0xC7
#define ENOCEAN5_RORG_SM_REC   0xA7
#define ENOCEAN5_RORG_SYS_EX   0xC5
#define ENOCEAN5_RORG_SEC   0x30
#define ENOCEAN5_RORG_SEC_ENCAPS   0x31
#define ENOCEAN5_RORG_SEC_MAN   0x34
#define ENOCEAN5_RORG_SIGNAL   0xD0
#define ENOCEAN5_RORG_UTE   0xD4
#define ENOCEAN5_BROADCAST_ID   ( 0xFFFFFFFFul )
 EnOcean 5 device ID bytes.
#define ENOCEAN5_TX_ID   ( 0x00000000ul )
#define ENOCEAN5_RSP_TIMEOUT_1000MS   1000
 EnOcean 5 response timeout settings.
#define ENOCEAN5_WAIT_TIME_1S   1
#define ENOCEAN5_WAIT_TIME_5S   5
#define ENOCEAN5_WAIT_TIME_60S   60
#define ENOCEAN5_TX_DRV_BUFFER_SIZE   300
 EnOcean 5 driver buffer size.
#define ENOCEAN5_RX_DRV_BUFFER_SIZE   300
#define ENOCEAN5_PAYLOAD_BUFFER_SIZE   256
#define ENOCEAN5_PAYLOAD_OPT_BUFFER_SIZE   10
#define ENOCEAN5_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  enocean5_return_value_t { ENOCEAN5_OK = 0 , ENOCEAN5_ERROR = -1 }
 EnOcean 5 Click return value data. More...

Functions

void enocean5_cfg_setup (enocean5_cfg_t *cfg)
 EnOcean 5 configuration object setup function.
err_t enocean5_init (enocean5_t *ctx, enocean5_cfg_t *cfg)
 EnOcean 5 initialization function.
err_t enocean5_generic_write (enocean5_t *ctx, uint8_t *data_in, uint16_t len)
 EnOcean 5 data writing function.
err_t enocean5_generic_read (enocean5_t *ctx, uint8_t *data_out, uint16_t len)
 EnOcean 5 data reading function.
void enocean5_set_rst_pin (enocean5_t *ctx, uint8_t state)
 EnOcean 5 set RST pin function.
err_t enocean5_reset_device (enocean5_t *ctx)
 EnOcean 5 reset device function.
err_t enocean5_send_packet (enocean5_t *ctx)
 EnOcean 5 send packet function.
err_t enocean5_read_packet (enocean5_t *ctx)
 EnOcean 5 read packet function.
err_t enocean5_wait_packet (enocean5_t *ctx, uint8_t type, uint8_t cmd, uint8_t max_time_s)
 EnOcean 5 wait packet function.
void enocean5_clear_buffers (enocean5_t *ctx)
 EnOcean 5 clear buffers function.
err_t enocean5_read_info (enocean5_t *ctx)
 EnOcean 5 read info function.
err_t enocean5_send_radio_message (enocean5_t *ctx, uint8_t rorg, uint8_t *data_in, uint8_t data_len)
 EnOcean 5 send radio message function.

Detailed Description

This file contains API for EnOcean 5 Click Driver.

Enumeration Type Documentation

◆ enocean5_return_value_t

EnOcean 5 Click return value data.

Predefined enum values for driver return values.

Enumerator
ENOCEAN5_OK 
ENOCEAN5_ERROR